Wireless network devices often include a host device to which wireless communication functionality is added. For example, a laptop computer can become a wireless network device by installing a wireless network interface card (NIC) into one of the computer's available I/O slots. External wireless networking functionality may also be connected to a host device. Many wireless networking technologies are packet based. That is, data is transmitted between communication entities in relatively small units, known as packets. The size of the packets may be selected, for example, to achieve efficient routing of the packets through the network. When a data file, for example, is to be transmitted through a packet based network, the data file is first divided into a number of packets. Each of the packets may include, in a header portion thereof, a sequence number identifying the packet's position in the original file and a destination address identifying the node that is the final destination of the packets. Other information may also occur within the packet headers. After the packets associated with a communication operation have been received by a destination node in the network, the packets may be reassembled into the corresponding file.
In a wireless network device, the packet processing is typically performed in the host processor. In many systems, this packet processing can occupy a large percentage of the available computational resources of the host processor, which can leave inadequate resources for other functions of the host device. As will be appreciated, this burden on the host processor can significantly slow down the overall operation of the host device for both the communication activity and the other functions of the host. One technique for reducing the burden on the host processor is to offload one or more of the functions of the host processor to another processor associated with the host device. In past systems, such offloading has been done across bus structures that utilize direct memory access (DMA). There is need for techniques and structures that enable packet processing functions to be offloaded by a host across bus structures that are packet-based, such as a universal serial bus (USB).